//对axios 进行二次封装
import axios from 'axios'
//引入进度条
import nprogress from 'nprogress'

import "nprogress/nprogress.css"
//利用axios对象的方法create，去创建一个axios实例
//request就是axios，只不过稍微配置一下
const requests =axios.create({
    //配置对象
    baseURL:'/mock',
    timeout:3000,
});

requests.interceptors.request.use((config)=>{
    //config:配置对象，对象里面有一个属性很重要，headers请求头
    //进度条结束
    nprogress.start();
    return config;
});
//响应拦截器
requests.interceptors.response.use((res)=>{
    //成功的回调函数，服务器相应数据回来以后，响应拦截器可以检测到，可以做一些事
   nprogress.done();
    return res.data;
},(error) =>{
    //响应失败的回调函数
    return Promise.reject(new Error('出错啦'));
});

//对外暴露
export default requests